In a GPS system for measuring the position of a mobile body by using artificial satellites (GPS satellites), a GPS receiver has a basic function of receiving signals from four or more GPS satellites, calculating the position of the receiver from the received signals, and informing the user of the position.
The GPS receiver demodulates the signals sent from the GPS satellites to acquire the orbit data of the GPS satellites, and uses simultaneous equations to calculate the three-dimensional position of the receiver from the orbits and time information of the GPS satellites, and the delay time of the received signals. The reason why four GPS satellites from which signals are received are required is to remove the effect of an error between the time used in the GPS receiver and the time used by the satellites.
A commercially available GPS receiver receives a spectrum spreading signal radio wave called a C/A (clear and aquisition) code in an L1 band from a GPS satellite (Navstar) to perform calculations for position measurement.
The C/A code is a PN (pseudorandom noise) series code having a transmission-signal speed (chip rate) of 1.023 MHz and a code length of 1023, such as a Gold code, and is a signal obtained by BPSK (binary phase shift keying) modulating a carrier wave (hereinafter called a carrier) having a frequency of 1575.42 MHz by a signal obtained by spreading data of 50 bps. In this case, since the code length is 1023, a PN-series code is repeated in the C/A code with 1023 chips being used as one period (therefore, one period is equal to 1 millisecond), as shown in FIG. 20(A).
The PN-series code in the C/A code differs in each GPS satellite. The GPS receiver can detect in advance a PN-series code used by each GPS satellite. In addition, the GPS receiver understands from a navigation message like that described later whether the receiver can receive a signal from each GPS satellite at its position at the point of time. Therefore, for three-dimensional position measurement, for example, the GPS receiver receives radio waves which can be obtained at its position at the point of time from four or more GPS satellites, applies inverse spectrum spreading to the radio waves, and performs calculations for position measurement to obtain its position.
As shown in FIG. 20(B), one bit of satellite-signal data is transferred in units of 20 periods of the PN-series code, that is, in units of 20 milliseconds. In other words, the data transmission rate is 50 bps. The PN-series code in one period, that is, 1023 chips, is inverted between when the corresponding bit is “1” and when the bit is “0.”
As shown in FIG. 20(C), one word is formed of 30 bits (600 milliseconds) in the GPS, and one sub-frame (six seconds) is formed of 10 words as shown in FIG. 20(D). In the first word of a sub-frame always includes a preamble having a fixed bit pattern even when data is updated, and data is transferred after the preamble.
Further, one frame (30 seconds) is formed of five subframes. The navigation message is transferred in units of one-frame data. First three sub-frames in one-frame data includes information unique to a satellite, called ephemeris information. The information includes a parameter used for obtaining the orbit of the satellite, and the time when the satellite sent the signal.
All GPS satellites have an atomic clock, and use common time information. The time when a GPS satellite sends a signal is indicated in units of seconds of the atomic clock. The PN-series code of a GPS satellite is generated in synchronization with the atomic clock.
Orbit information in the ephemeris information is updated in units of several hours. Until an update is performed, the same information is used. The orbit information in the ephemeris information can be stored in a memory of the GPS receiver so as to use the same information precisely for the several hours. The time when a GPS satellite sends a signal is updated in units of seconds.
The navigation message included in the remaining two sub-frames in the one-frame data is information sent in common from all satellites, called almanac information. The almanac information is transferred in 25 frames, and includes rough-position information of each GPS satellite and information indicating which GPS satellite is available. The almanac information is updated in units of several months. Until an update is performed, the same information is used. The almanac information can be stored in a memory of the GPS receiver so as to use the same information precisely for the several months.
To receive a signal from a desired GPS satellite to obtain the above-described data, the carrier is first removed, the signal sent from the GPS satellite is phase-synchronized with the C/A code by using the same PN-series spreading code as the C/A code used by the GPS satellite, prepared in the GPS receiver to capture the signal, and inverse spectrum spreading is performed. When phase synchronization with the C/A code is obtained and inverse spreading is performed, each bit is detected, and a navigation message, including time information, can be obtained from the signal sent from the GPS satellite.
The signal sent from the GPS satellite is captured by C/A-code phase synchronization search. In the phase synchronization search, correlation between the spreading code of the GPS receiver and the spreading code of the signal received from the GPS satellite is detected, and when a correlation value obtained as the result of correlation detection is larger than a value specified in advance, for example, it is determined that both codes are synchronized. When it is determined that they are not synchronized, the phase of the spreading code of the GPS receiver is controlled by some synchronization method to synchronize the spreading code of the GPS receiver with the spreading code of the received signal.
Since a GPS satellite signal is obtained by BPSK modulating the carrier by a signal obtained by spreading data with a spreading code, as described above, the carrier and the data need to be synchronized in addition to the spreading code when the GPS receiver receives the GPS satellite signal. The synchronization of the spreading code and that of the carrier cannot be performed independently.
The GPS receiver usually converts the carrier frequency of the received signal to an intermediate frequency several megahertz from the carrier frequency, and performs the above-described synchronization detection process with a signal having the intermediate frequency. The carrier in the intermediate-frequency signal mainly includes a frequency error caused by a Doppler shift corresponding to the moving speed of the GPS satellite and an error in the frequency of a local oscillator, generated inside the GPS receiver.
Therefore, the carrier frequency in the intermediate-frequency signal is unknown due to these frequency-error factors, and the carrier frequency needs to be searched for. A synchronization point (synchronized phase) in one period of the spreading code depends on the positional relationship between the GPS receiver and the GPS satellite. Since this positional relationship is also unknown, some synchronization method is required, as described above.
Conventional GPS receivers use frequency search for the carrier and a spreading-code synchronization detection method which uses a sliding correlator, a DLL (delay locked loop, and a costas loop. A description thereof will be given below.
Usually a reference-frequency oscillator provided for the GPS receivers is scaled down to generate a clock signal used for driving a PN-code generator in the GPS receivers. As the reference-frequency oscillator, a high-precision crystal oscillator is used, and a local oscillating signal used for converting a signal received from a GPS satellite to an intermediate-frequency signal is generated from the output of the reference-frequency oscillator.
FIG. 21 is a view used for describing the frequency search. Specifically, when the frequency of the clock signal used for driving the spreading-code generator in the GPS receiver is a frequency f1, phase synchronization search is performed for the spreading code, in other words, the phase of the spreading code is sequentially shifted by one chip, correlation between a GPS received signal and the spreading code is detected at each chip phase, and a correlation peak is detected to detect a phase at which synchronization is acquired.
When the clock signal has the frequency f1, if there is no phase at which synchronization is acquired, among 1023 chip phases through search, a scaling ratio for the reference-frequency oscillator is changed, for example, to change the frequency of the driving clock signal to a frequency f2, and phase search is performed in the same way for 1023 chips. As shown in FIG. 21, the frequency of the driving clock signal is changed step by step and phase search is repeated. The above-described operation is called frequency search.
When the frequency of the driving clock signal, for which synchronization can be acquired is detected through the frequency search, a final spreading-code phase synchronization detection is performed at the clock frequency. With this, even if the oscillation frequency of the crystal frequency oscillator is shifted, a satellite signal can be captured.
When the above-described conventional method is used as a spreading-code synchronization detection method, however, it is, in principle, not suited to high-speed synchronization, and to compensate this, a receiver needs to have multiple channels and to search for a synchronization point in parallel. When the synchronization of the spreading code and that of the carrier require time as described above, the GPS receiver has a slow response and causes inconvenience in use.
Due to the improvement of the capability of hardware, typical of which is DSPs (digital signal processors), without using a sliding correlation method like that described above, a method for performing spreading-code phase synchronization detection at a high speed is implemented by using a digital matched filter.
There have been known digital matched filters using a transversal filter or fast Fourier transform (hereinafter called FFT). Usually, a digital matched filter performs processing in units of periods of the spreading code.
When spreading-code synchronization detection is performed only with the results of correlation calculations for one period of the spreading code, a detection sensitivity is low. Therefore, to increase the detection sensitivity, a method has been conventionally used, in which the sum of the square of the result of correlation calculations for one period of the spreading code is accumulated. According to this method, since a correlation value at a correlation point is made larger than correlation Values at non-correlation points irrespective of the positive and negative polarities of correlation values, the detection sensitivity is increased.
Since a noise component is also accumulated without being offset in the method in which the sum of the squares is accumulated, however, a loss caused by square operations is large and the degree of improvement of the detection sensitivity is low in a receiving condition having a low C/N (carrier-to-noise ratio).
There can be another method in which, not the sum of the squares, but the linear sum of the result of correlation calculations for one period of the spreading code is accumulated. In the linear sum, noise distributed at random is offset and reduced.
In a GPS signal, a spectrum spreading signal includes 50-bps navigation data, and a bit transition period is set to 20 times (20 milliseconds) the period (one millisecond) of the spreading code, as shown in FIG. 20. Therefore, when the linear sum of the result of correlation calculations for one period of the spreading code is accumulated for 20 or more milliseconds, since a correlation value has a inverted polarity from when a bit transition occurs, and offset, the accumulated value becomes small. The linear sum cannot be accumulated simply.
The present invention has been made in consideration of the foregoing points. An object of the present invention is to allow the sensitivity of spreading-code synchronization detection for a spectrum spreading signal of data having a bit transition period which is a multiple of one period of the spreading code, such as the above-described GPS signal, to be greatly improved.